package cn.tannn.tcache.command.list;

import cn.tannn.tcache.core.Command;
import cn.tannn.tcache.core.Reply;
import cn.tannn.tcache.core.Tcache;

/**
 * 通过索引获取列表中的元素 （0开始
 * <p> lindex key index
 *
 * @author <a href="https://t.tannn.cn/">tan</a>
 * @date 2024/6/20 上午10:01
 */
public class LindexCommand implements Command {
    @Override
    public String name() {
        return "LINDEX";
    }

    @Override
    public Reply<?> exec(Tcache cache, String[] args) {
        String key = getKey(args);
        try {
            Integer index = Integer.parseInt(getVal(args));
            return Reply.bulkString(cache.lindex(key, index));
        } catch (Exception e) {
            return Reply.bulkString(null);
        }

    }
}
